// 导入数据库操作模块
const sql = require('../db/index')
// 导入 bcryptjs 这个包
const bcrypt = require('bcryptjs')
// 导入生成 Token 的包
const jwt = require('jsonwebtoken')
const config = require('../config') 
// 登录接口
exports.pass = (req, res) => {
  const body = req.body
  // 查询登录用户名/密码数据库是否存在，并匹配
  // let sqlapi = 'select * from ev_users where username = ? && password = ?'

  let sqlapi = 'select * from ev_form where username = ?'
  sql.query(sqlapi, [body.username, body.password], (err, result) => {
    if (err) return res.cc('服务端错误')
    // if (!result.length) return res.cc('用户名/密码错误')
    // 判断密码是否正确
    const compareResult = bcrypt.compareSync(body.password, result[0].password)
    if (!compareResult) return res.cc('登录失败！')
    const user = { ...result[0], password: '', user_pic: '' }
    // 对用户的信息进行加密，生成 Token 字符串
    const tokenStr = jwt.sign(user, config.jwtSecretKey, {
      expiresIn: config.expiresIn,
    })
    res.send({
      status: '200',
      data: 'ok',
      message: '登录成功',
      token: 'Bearer ' + tokenStr,
    })
  })
}
